<?php

/*
 * Класс для работы с сохранёной версией
 */

class Note_modul  extends CI_Model {

	# id телефона
	public $id_phone;

	public function __construct() {
		// Call the Model constructor
		parent::__construct();
		$this -> load -> library('session');
		$this -> id_phone = $this -> session -> userdata('id_phone');
	}

	/**
	 * Добавление нового объявления в базу
	 *
	 * @param array $data массим с данными для добавление в базу
	 * @return int $id уникальный идентификатор объявления
	 * @author
	 */
	public function save($id = 1, $adsent = 'sflat') {
		$DB2 = $this -> load -> database('adsent', TRUE, TRUE);
		$data = array('user' => $this -> id_phone, 'is_adsent' => $id, 'adsent' => $adsent, 'times' => time(), 'activ' => 1, );
		$DB2 -> insert('notepad', $data);
		return $DB2 -> insert_id();
	}

	/**
	 * Метод для получения информации из базы, то что раньше пользователь сохранял
	 *
	 */
	public function load_save($iduser) {

		$DB2 = $this -> load -> database('adsent', TRUE, TRUE);
		$select = "SELECT n.* FROM  `notepad` n  where n.user= '" . $iduser . "' and n.activ=1  group by n.id  order by n.id,n.adsent;";
		$qs = $DB2 -> query($select);

		if ($qs -> num_rows() > 0) {
			foreach ($qs -> result() as $row) {

				$data[] = array('is_adsent' => $row -> is_adsent, 'adsent' => $row -> adsent, 'id' => $row -> id, );

			}
		}
		$this->save_cookies($data);
		
		return;
	}

	// Загружаем информацию в печенье,
	// Делаем это спецом из под метода, чтобы можно было метод вызвать из любого участка кода
	public function save_cookies($data){
		$this -> load -> helper('cookie');
		$note = serialize($data);
		
		$cookie = array(
                   'name'   => 'note',
                   'value'  => $note,
                   'expire' => '1186500',
                   'domain' => '.yroom.ru',
                   'path'   => '/',
                   'prefix' => 'note_',
               );  
		 set_cookie($cookie);  
		$data =  $this->load_cookies();
		
		return $data;
	}

	// Загружаем информацию в печенье,
	// Делаем это спецом из под метода, чтобы можно было метод вызвать из любого участка кода
	public function load_cookies() {
		$this -> load -> helper('cookie');
		$note = unserialize (  get_cookie('note') );
		 print_r($note); 
		return $note;
	}


	/**
	 * Загружаем все объявления на которых пользователь поставил метку блокнота
	 *
	 * @param int пользователь
	 * @data array 6 массивов с различными объявлениями
	 */
	public function load() {
		$data = array();

		$DB2 = $this -> load -> database('adsent', TRUE, TRUE);

		$this -> load -> model('search/rent/Flat_modul', 'rflat');
		$this -> load -> model('search/rent/Office_modul', 'roffice');
		$this -> load -> model('search/rent/Suburbian_modul', 'rsuburbian');
		$this -> load -> model('search/sale/Flats_modul', 'sflat');
		$this -> load -> model('search/sale/Offices_modul', 'soffice');
		$this -> load -> model('search/sale/Suburbians_modul', 'ssuburbian');

		$select_note = "SELECT `adsent`, count(`id`) FROM `notepad` where `user`= '" . $this -> id_phone . "' and `activ`=1 group by `adsent`  ";
		$note_data = $DB2 -> query($select_note);

		foreach ($note_data -> result() as $row) {

			$select = "SELECT r.* FROM `" . $row -> adsent . "` r join `notepad` n ON n.is_adsent = r.id   and n.adsent = '" . $row -> adsent . "'    where n.user= '" . $this -> id_phone . "' and n.activ=1  group by r.id  order by r.id;";

			$rows[$row -> adsent] = $DB2 -> query($select);

		}

		foreach ($rows as $keys => $row_select) {

			switch ($keys) {
				# Аренда
				case 'rflat' :
					$ara['rflat'] = $this -> rflat -> req($rows[$keys]);
					break;
				case 'roffice' :
					$ara['roffice'] = $this -> roffice -> req($rows[$keys]);
					break;
				case 'rsuburbian' :
					$ara['rsuburbian'] = $this -> rsuburbian -> req($rows[$keys]);
					# print_r($ara['rsuburbian']);
					break;

				# Продажа
				case 'sflat' :
					$ara['sflat'] = $this -> sflat -> req($rows[$keys]);

					break;
				case 'soffice' :
					$ara['soffice'] = $this -> soffice -> req($rows[$keys]);

					break;
				case 'ssuburbian' :
					$ara['ssuburbian'] = $this -> ssuburbian -> req($rows[$keys]);

					break;
				default :
					break;
			}

		}

		return $ara;

	}

}
